Method for representing animated menu buttons

ABSTRACT

Optical storage media often contain data structures for a menu suitable for selection of a title, a chapter, a parameter or others. Such menus usually comprise a number of buttons to be displayed, with each button having a state. Possible states of buttons are “unselected”, “selected” or “activated”. According to the invention, the representation of a menu button may vary, depending on its state. An image or an image sequence, e.g. cartoon, may be associated to a buttons state, providing user animation. Further, a sound or sound sequence, e.g. melody or click, may be associated to a buttons state, and may be played back when the button enters this state. A data structure is disclosed which allows storage of such menu data e.g. on a Blu-ray disc.

FIELD OF THE INVENTION

This application is a continuation of co-pending U.S. application Ser.No. 12/653,252, filed Dec. 10, 2009, which is a continuation of U.S.application Ser. No. 10/550,262, filed Sep. 22, 2005, now issued as U.S.Pat. No. 7,653,882, incorporated by reference herein.

BACKGROUND

Today's optical storage media formats are capable of supporting visualmenus, e.g. for content management or control functions. Applications ofsuch visual menus are the selection of one out of multiple titles on thedisc, the selection of a chapter within a title, and others. From theuser perspective, such menus consist of a number of buttons shown on thedisplay. The user may navigate within the menu, e.g. by pushing the up,down, left and right buttons on his remote control to select a menubutton, and may activate a menu button through some kind of “OK” buttonon the remote control. An indicator, usually a highlight or an arrow,may provide feedback to the user, showing which button is currentlyselected or activated. A menu button may have one of the states“normal”, “selected” or “activated”.

However, known DVD menus are rather limited concerning extra features,since they contain only static visual buttons.

Further, a subtitling specification contained in the document “ETS 300743: Digital Video Broadcasting (DVB); Subtitling System” (DVB-ST),provided by the European Telecommunication Standardization Institute(ETSI), is known for embedding subtitles into video sequences.

SUMMARY OF THE INVENTION

The present invention may be utilized to give more feedback to the userwho operates a menu related to an optical storage medium. The feedbackcomprises visually and/or aurally animated buttons.

A storage medium that contains an animated menu is disclosed.

An apparatus suitable for presenting such menu is disclosed.

According to the invention, a menu button shown on a display may lookdifferent, depending on its state. The state may be “normal”, “selected”or “activated”, and for each of these states the button may havedifferent color or shape. Additionally, a sound or sound sequence may beattached to some or all menu buttons, depending on the buttons state.Examples for sounds are a click or a melody, or a speech sequence. Thecurrent invention provides a data structure by which those additionalfeatures can be described.

Advantageous embodiments of the invention are disclosed in the followingdescription and the figure.

BRIEF DESCRIPTION OF THE DRAWING

An exemplary embodiment of the invention is described with reference tothe accompanying drawing in FIG. 1, which shows an on-screen menuaccording to the invention, and a corresponding remote control.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 shows a video screen 1 containing a menu that comprises buttons2,3 and related text describing the buttons. When a user presses abutton 5,6 on a remote control 4, the state of a button 2,3 may change,and also the representation of the button. In FIG. 1 one button 2 isselected, and thus looks different from the unselected buttons 3. Whenthe user e.g. presses the “right” button 6 on the remote control,another button 3 is selected being right from the currently selectedbutton 2. When the user presses the “OK” button 5, the selected buttonis activated, and the function associated with the selected button isperformed. The selected button 2 according to the invention is animated,e.g. has another color and another shape than an unselected button 3,and its color or shape may change. Particularly, the button may also bereplaced by a moving symbol, a moving cartoon or the like, depending onthe state.

A preferred embodiment of the invention is based on the syntax andsemantics of the subtitling specification contained in the document “ETS300 743: Digital Video Broadcasting (DVB); Subtitling System” (DVB-ST),provided by the European Telecommunication Standardization Institute(ETSI). To provide enhanced capabilities for menus relating to opticalstorage media, the page composition segment defined in DVB-ST isextended to describe animated menu buttons and to associate a sound orsound sequence to a button. The enhanced page composition segment isherein called a “menu page composition segment”.

This invention, like DVB_ST, uses page composition segments to describethe position of one or more rectangular regions on the display, assumingthat a region contains a representation of one button in a certainstate, e.g. as pixel data or bitmap. Each button image is thusaddressable through an identifier (ID), or “region_id”. In thisembodiment of the invention, backward compatibility is kept with DVB-STby using an associated segment type ID for the menu page compositionsegment. The menu page composition segment is defined as listed inTab.1.

The “menu page composition segment” according to the invention may alsoreplace the original page composition segment, e.g. in DVB-ST. A menupage composition segment describes a menu and provides the necessarylayout and timing information as well as additional control information.

In one embodiment of the invention, being a simple case with staticmenus, each button is represented by e.g. three images. A first imagerepresents the button in the “normal” state, a second image representsthe button in the “selected” state and a third image represents thebutton in the “activated” state. These images may be stored e.g. asbitmap files on the storage medium, and may be used to display the menu.

In another embodiment, going beyond static menus, the menu pagecomposition segment also allows to describe animated buttons. In thiscase, the “normal” state and the “selected” state of a button are eachrepresented through a series of images that are displayed, and may bee.g. cyclically repeated, on the screen to achieve the animation effect.Also for the “activated” state of a button an animation can be defined,but here it may be advantageous to display the animation phases onlyonce, because the menu will usually disappear or be modified after abutton was activated.

For all button animations of a menu the menu author can specify ananimation frame rate, defining how long each phase of an animation isdisplayed.

Advantageously, the invention also provides the possibility to giveaural feedback to the user. If a button is either in the “selected”state or in the “activated” state, it may be assigned a sound identifierassociated with a sound, which may be stored on the storage medium. Theassociated sound is played back when the button enters the respectivebutton state. In one embodiment of the invention the associated sound isplayed back repeatedly, as long as the button is in the respectivestate.

The structure of the menu page composition segment and the semantics ofthe fields of the menu page composition segment are based on thestructure and semantics given in DVB-ST, Section 7.2.1 “Page compositionsegment”. Additional semantics definitions are used for an enhanced menuaccording to the invention.

Tab.1 shows the structure of a menu page composition segment accordingto the invention. Lines 1-8 are identical to the subtitle segment of theDVB-ST standard, giving the possibility to keep backward compatibility.The meaning of the fields shown in Tab.1 is described in the following.The addressing of pixels is based on a coordinate system whose origin isdefined by the top-left corner of the associated video screen. Pixeladdresses increase from left to right and from top to bottom. Thedimensions of the associated video are defined asvideo_width*video_height.

TABLE 1 Syntax of a menu page composition segment A segment is generallya data unit within the storage area. The segment_type defines its type.The menu page composition segment may be identified by setting e.g.segment_type = 0x18, since this value is not used in DVB-ST yet. Theother fields in lines 2-8 of Tab.1 define the segment data set. FieldSize Type 1 menu_page_composition_segment ( ) { 2  sync_byte 8 bslbf 3  segment_type 8 bslbf 4  page_id 16 bslbf 5  segment_length 16 uimsbf 6 page_time_out 8 uimsbf 7  page_version_number 4 uimsbf 8  page_state 2bslbf 9  animation_frame_rate_code 4 uimsbf 10  reserved 6 bslbf 11 while (processed_length < segment_length) { 8 uimsbf 12   button_number16 uimsbf 13   button_horizontal_address 16 uimsbf 14  button_vertical_address 15   neighbour_info( ) 8 uimsbf 16   upper_button_number 8 uimsbf 17    lower_button_number 8 uimsbf 18   left_button_number 8 uimsbf 19    right_button_number 20  normal_state_info( ) 8 uimsbf 21    start_region_id_normal 8 uimsbf 22   end_region_id_normal 8 uimsbf 23   selected_state_info( ) 16 uimsbf24    start_region_id_selected 8 uimsbf 25    end_region_id_selected 8uimsbf 26   action_state_info( ) 27    start_region_id_activated 8uimsbf 28    end_region_id_activated 8 uimsbf 29   button_command_info() 30   sound_info( ) 31    selected_sound_id 8 uimsbf 32   activated_sound_id 8 uimsbf 33  } 34 }

The animation_frame_rate_code field specifies the frame rate ofanimations in the case of animated buttons being used. It applies to arange of regions specified by start_region_id_xxx and end_region_id_xxx,with the “xxx” referring the state of a button. If a start_region_id_xxxand its corresponding end_region_id_xxx differ, they define a range ofregions that shall be presented with this animation frame rate. For thenormal and selected state, the presentation may be cyclically repeated;for the “activated” state, the presentation shall be performed onlyonce. When any start_region_id_xxx is identical to the associatedend_region_id_xxx, this designates a static or non-animated buttonstate. Only the region designated by start_region_id_xxx is displayed,and for that button state the animation_frame_rate_code shall have nomeaning.

Tab.2 shows an exemplary list of animation_frame_rate_codes. Ananimation may be visible at full video frame rate, e.g. 30 pictures persecond, meaning that with each video frame another phase of theanimation is displayed. It may also be sufficient to display only withevery other video frame another phase of the animated button, thusachieving another effect. Further, it is possible to define the framerate to either be relative or absolute. Therefore the values of theanimation_frame_rate_code field have two different meanings, dependingon if an associated video is present. In this case theanimation_frame_rate_code gives the animation frame rate relative to thevideo frame rate, otherwise it gives the absolute frame rate.

TABLE 2 Example of animation_frame_rate_code Relative animation Abs.animation animation_frame_rate_code frame rate Frame rate 0x0 ReservedReserved 0x1 Full video frame rate 30 Hz  0x2 ½ of video frame rate 15Hz  0x3 ¼ of video frame rate 8 Hz 0x4 ⅛ of video frame rate 4 Hz 0x51/16 of video frame rate 2 Hz 0x6 1/32 of video frame rate 1 Hz 0x7-0xFreserved Reserved

The button_number field specifies a number that is an internalidentifier for a button, and is used for the fields defined below, e.g.the neighbour_info( ) field. Additionally, when button_number is entereddirectly through the user interface (UI), the associated button may beactivated. Therefore a button_number is unique within the menu. It maybe e.g. a two-digit number in the range between 0 and 99.

Some fields used for menu animation according to the invention must bespecified separately for each button. They are listed from line 11 ofTab.1, where a loop over all buttons starts. Each instance of the looprefers to one button. Implicitly, the button described by the firstinstance of the while-loop within menu_page_composition_segment( ) maybe considered as “selected” when entering the menu, and may beconsidered as “activated” if a page timeout for the menu is set andbecomes active.

The button_horizontal_address field specifies the horizontal address ofthe top left pixel of the button. The specified horizontal position maybe in between 0 and video_width-1. Likewise, the button_vertical_addressfield specifies the vertical address of the top left pixel of thebutton. The specified vertical position may be in between 0 andvideo_height-1.

The upper_button_number field specifies the button to be selected whenthe user navigates upward from the current button. Thelower_button_number field specifies the button to be selected when theuser navigates downward from the current button. The left_button_numberfield specifies the button to be selected when the user navigates leftfrom the current button. And the right_button_number field specifies thebutton to be selected when the user navigates right from the currentbutton.

The start_region_id_normal field specifies the ID of the first region tobe presented for a button presentation in normal state, and theend_region_id_normal field specifies the ID of the last region to bepresented for a button presentation in normal state. All regions with anID between and including start_region_id_normal and end_region_id_normalshall exist; if start_region_id_normal differs fromend_region_id_normal, that range of regions shall be presentedcyclically with the animation frame rate as defined byanimation_frame_rate_code.

The start_region_id_selected field specifies the ID of the first regionto be presented for a button presentation in the selected state, and theend_region_id_selected field specifies the ID of the last region to bepresented for a button presentation in the selected state. All regionswith IDs between start_region_id_selected and end_region_id_selectedshall exist; if start_region_id_selected differs fromend_region_id_selected, that range of regions shall be presentedcyclically with the animation frame rate described byanimation_frame_rate_code.

The start_region_id_activated field specifies the ID of the first regionto be presented for a button presentation in activated state, and theend_region_id_activated field specifies the ID of the last region to bepresented for a button presentation in activated state. All regions withIDs between start_region_id_activated and end_region_id_activated shallexist; if start_region_id_activated differs fromend_region_id_activated, that range of regions shall be presented oncewith the animation frame rate described by animation_frame_rate_code.

The button_command_info( ) field serves as a container for commandsassociated with this button, specifying the commands to be performedwhen the button is activated.

Finally, the selected_sound_id field specifies the ID of the sound to beplayed when the button enters the “selected” state, and theactivated_sound_id field specifies the ID of the sound to be played whenthe button enters the “activated” state.

The invention may be used particularly for menus stored on Blu-raydiscs, but also DVD or other optical or non-optical high-capacitystorage media.

The invention claimed is:
 1. A non-transitory computer readable storagemedium having stored thereon at least video data and a data segmentrepresenting control data for an on-screen menu for controlling apresentation of said video data, wherein said control data are suitablefor controlling a display that operates at a video frame rate to displaysaid on-screen menu, and wherein the menu comprises menu buttons havingone out of three states, the states being normal, selected andactivated, and said control data comprise image data for representingsaid menu buttons in said states and neighbor information, and whereinthe image data that represent a particular menu button state on adisplay comprise a sequence of pictures, wherein a value representing arate for animating the sequence of pictures is stored on said storagemedium and represents said rate for animating the sequence of picturesrelative to said video frame rate, and said rate for animating thesequence of pictures depends on the video frame rate and said value, andsaid rate for animating is different from the video frame rate and is aninteger fraction of the video frame rate and is lower than the videoframe rate, and wherein said sequence of pictures comprised in the imagedata that represent a particular menu button state on the display isanimated at said rate for animating the sequence of pictures, andwherein the neighbor information comprises an upper button number, alower button number, a right button number and a left button number. 2.An apparatus having a processor configured for displaying a menu on ascreen, the menu comprising menu buttons and being controlled by menudata read from a computer readable storage medium, wherein the computerreadable storage medium has stored thereon at least video data and adata segment representing control data for an on-screen menu forcontrolling a presentation of said video data, wherein said control dataare suitable for controlling a display that operates at a video framerate to display said on-screen menu, and wherein the menu comprises menubuttons having one out of three states, the states being normal,selected and activated, and said control data comprise image data forrepresenting said menu buttons in said states and neighbor information,and wherein the image data that represent a particular menu button stateon a display comprise a sequence of pictures, wherein a valuerepresenting a rate for animating the sequence of pictures is stored onsaid storage medium and represents said rate for animating the sequenceof pictures relative to said video frame rate, and said rate foranimating the sequence of pictures depends on the video frame rate andsaid value, and said rate for animating is different from the videoframe rate and is an integer fraction of the video frame rate and islower than the video frame rate, and wherein said sequence of picturescomprised in the image data that represent a particular menu buttonstate on the display is animated at said rate for animating the sequenceof pictures, and wherein the neighbor information comprises an upperbutton number, a lower button number, a right button number and a leftbutton number.